<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://tempuri.org/" elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://localhost:2877/RoleProviderService.svc?xsd=xsd2" namespace="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
  <xs:import schemaLocation="http://localhost:2877/RoleProviderService.svc?xsd=xsd3" namespace="http://schemas.datacontract.org/2004/07/SecurityAgent" />
  <xs:element name="AddUsersToRoles">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationKey" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="operatorToken" nillable="true" type="xs:string" />
        <xs:element xmlns:q1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="usernames" nillable="true" type="q1:ArrayOfstring" />
        <xs:element xmlns:q2="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="roleNames" nillable="true" type="q2:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="AddUsersToRolesResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateRole">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationKey" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="operatorToken" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="roleName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="CreateRoleResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteRole">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationKey" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="operatorToken" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="roleName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="throwOnPopulatedRole" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="DeleteRoleResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="FindUsersInRole">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationKey" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="operatorToken" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="roleName" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="usernameToMatch" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="FindUsersInRoleResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q3="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="FindUsersInRoleResult" nillable="true" type="q3:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllRoles">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationKey" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="operatorToken" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetAllRolesResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q4="http://schemas.datacontract.org/2004/07/SecurityAgent" minOccurs="0" name="GetAllRolesResult" nillable="true" type="q4:RoleCollection" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetRolesForUser">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationKey" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="userToken" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="username" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetRolesForUserResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q5="http://schemas.datacontract.org/2004/07/SecurityAgent" minOccurs="0" name="GetRolesForUserResult" nillable="true" type="q5:RoleCollection" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetUsersInRole">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationKey" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="userToken" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="roleName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="GetUsersInRoleResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element xmlns:q6="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="GetUsersInRoleResult" nillable="true" type="q6:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="IsUserInRole">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationKey" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="userToken" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="username" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="roleName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="IsUserInRoleResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="IsUserInRoleResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="RemoveUsersFromRoles">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationKey" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="operatorToken" nillable="true" type="xs:string" />
        <xs:element xmlns:q7="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="usernames" nillable="true" type="q7:ArrayOfstring" />
        <xs:element xmlns:q8="http://schemas.microsoft.com/2003/10/Serialization/Arrays" minOccurs="0" name="roleNames" nillable="true" type="q8:ArrayOfstring" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="RemoveUsersFromRolesResponse">
    <xs:complexType>
      <xs:sequence />
    </xs:complexType>
  </xs:element>
  <xs:element name="RoleExists">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="applicationKey" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="operatorToken" nillable="true" type="xs:string" />
        <xs:element minOccurs="0" name="roleName" nillable="true" type="xs:string" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="RoleExistsResponse">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="RoleExistsResult" type="xs:boolean" />
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>